The status of a computer system is a measure of the computer system's health at any given time as affected by the load on the computer system. As the number and complexity of the processes being handled by a computer increase, the speed of the computer in completing a given task decreases. If the computer reaches a crashed state, it can no longer complete a given task without being reset. Thus, determining the status of a computer system allows a decision to be made as to whether the computer is overloaded and cannot effectively handle additional tasks or whether the computer has crashed and must be reset.
In a distributed environment, computers known as servers perform various tasks for client computers that communicate with the server over a network. The server enables sharing of files and other resources between client computers and the server, such as electronic mail. As an example, a world wide web (“web”) server may provide resources to client computers over the Internet. For successful sharing within the distributed environment, the server must maintain an acceptable status so that processes for client devices can be timely completed.
To monitor the status of a computer that is physically present, one can view the display screen and physically interact with the computer. However, to monitor a computer that is not physically present or to automate the monitoring process such as where several machines must be monitored contemporaneously, a monitoring device is coupled to the computer. Conventionally, the monitoring device communicates with the computer through the peripheral component interconnect (“PCI”) bus.
One type of monitoring device captures displayed screens of the computer by capturing display data from the PCI bus. The monitoring device transfers the display data over a network to a remote maintenance computer where it can be reviewed to determine whether the computer has crashed. For example, a particular operating system may produce a specific screen display due to a crash, and this screen data is transferred to the remote maintenance computer where it can be viewed or otherwise interpreted as a crash. One can determine when a computer has crashed and must be reset by accessing the remote maintenance computer that receives the display data.
However, this transfer of the screen data to the remote maintenance computer may not provide an indication of every crash. Also, a general indication of status may not be provided by the display data absent a crashed state, so the load on the computer may not be known. Additionally, a device that operates on the PCI bus to capture data requires a device driver that is compatible with the operating system of the computer being monitored. The operating system must dedicate system resources and processing time to the device driver, and the performance of the computer being monitored is adversely affected as a result.